/**
 * 
 */
package com.rhf.core.db.interfaces;

import java.sql.ResultSet;
import java.util.List;

import com.rhf.core.dto.EquipeVO;

/**
 * Interface des �quipes
 * 
 * @author fabiensaulnier
 * 
 */
public interface Equipe {

	/**
	 * R�cup�re la liste des �quipes
	 * 
	 * @return
	 * @throws Exception
	 */
	public List<EquipeVO> recuperListeEquipe() throws Exception;

	/**
	 * R�cup�re la liste des �quipes d'une cat�gorie
	 * 
	 * @param categorieId
	 * @return
	 * @throws Exception
	 */
	public List<EquipeVO> recupereListeEquipeParCategorie(int categorieId)
			throws Exception;

	// TODO : Clean 
	// INUTILE A CE NIVEAU >> C'est un service 
	///**
	// * R�cup�re la lsite des �quipes d'une competition
	// * 
	// * @param competitionId
	// * @return
	// * @throws Exception
	// */
	//public List<EquipeVO> recupererListeEquipeParCompetition(int competitionId)
	//		throws Exception;

	/**
	 * R�cup�re la liste des �quipes d'un club
	 * 
	 * @param clubId
	 * @return
	 * @throws Exception
	 */
	public List<EquipeVO> recupererListeEquipeParClub(int clubId)
			throws Exception;

	/**
	 * R�cup�re une �quipe
	 * 
	 * @param equipeId
	 * @return
	 * @throws Exception
	 */
	public EquipeVO recupererEquipe(int equipeId) throws Exception;

	/**
	 * Ajouter une �quipe
	 * 
	 * @param equipeVO
	 * @return
	 * @throws Exception
	 */
	public int ajouterEquipe(EquipeVO equipeVO) throws Exception;

	/**
	 * Modifier une �quipe
	 * 
	 * @param equipeVO
	 * @return
	 * @throws Exception
	 */
	public int modifierEquipe(EquipeVO equipeVO) throws Exception;

	/**
	 * Supprimer une �quipe
	 * 
	 * @param equipeId
	 * @return
	 * @throws Exception
	 */
	public int supprimerEquipe(int equipeId) throws Exception;
	
	/**
	 * Constucteur du r�sultat de la requ�te
	 * 
	 * @param rs
	 * @return Equipe constucteur rs
	 * @throws Exception
	 */
	public EquipeVO contructeur(ResultSet rs) throws Exception;
}
